Skip to content

Add enable extensions for ray queries and ray query vertex returns.#8545

Merged
cwfitzgerald merged 3 commits intogfx-rs:trunkfrom
Vecvec:ray-query-enable
Nov 18, 2025
Merged

Add enable extensions for ray queries and ray query vertex returns.#8545
cwfitzgerald merged 3 commits intogfx-rs:trunkfrom
Vecvec:ray-query-enable

Conversation

@Vecvec
Copy link
Contributor

@Vecvec Vecvec commented Nov 18, 2025

Connections
As discussed on matrix

Description
Adds an enable extension for ray tracing (wgpu_ray_query), because ray queries came in before wgpu supported enable extensions.

Testing
adds enable to the ray tracing tests

Squash or Rebase?
squash

Checklist

  • Run cargo fmt.
  • Run cargo clippy --tests.
  • Run cargo xtask test to run tests.
  • If this contains user-facing changes, add a CHANGELOG.md entry.

Copy link
Member

@cwfitzgerald cwfitzgerald left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you add some tests for this in wgsl_errors.rs

@cwfitzgerald cwfitzgerald merged commit 7ba1a0e into gfx-rs:trunk Nov 18, 2025
42 checks passed

#### General

- Require new enable extensions when using ray queries and position fetch (`wgpu_ray_query`, `wgpu_ray_query_vertex_return`). By @Vecvec in [#8545](https://github.com/gfx-rs/wgpu/pull/8545).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thought: Would a BREAKING callout be helpful?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, probably.

@cwfitzgerald cwfitzgerald deleted the ray-query-enable branch November 18, 2025 21:49
robtfm added a commit to bevyengine/naga_oil that referenced this pull request Jan 22, 2026
This is a working naga 28 update. I noticed some tests haven't passed
(specifically cargo test --all-features) since before 0.14, so this PR
doesn't attempt to make them pass.

## enumerate_adaptors

`instance.enumerate_adapters` is async now (and available on webgpu):
gfx-rs/wgpu#8230 . more details in the wgpu
release notes.

## ControlBarrier & MemoryBarrier

Barrier was split in two to support MemoryBarriers:
gfx-rs/wgpu#7630

From the PR, it seems like falling back to ControlBarrier is fine so
that's what I did.

## Ray Query enable

ray queries require `enable wgpu_ray_query;`:
gfx-rs/wgpu#8545

This doesn't currently seem to make it through, and the relevant test
fails.

## ImageAtomic

Image atomics were added in gfx-rs/wgpu#6706

## Mesh Shaders

Mesh shaders are a major feature of wgpu 28, ~~but I've set their fields
to None here in the interest of doing an upgrade and not a feature add
at the same time~~

https://github.com/gfx-rs/wgpu/releases/tag/v28.0.0

update: I found some time and built a wgpu mesh/task shader demo and
used that to validate some of the mesh shader functionality. I've used
this to successfully compile a task shader with naga-oil and run it, but
there's still something missing from the mesh shader module output here.

---------

Co-authored-by: robtfm <50659922+robtfm@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants